package lp2.projeto.gerenciador;
import static org.junit.Assert.*;

import org.junit.*;


public class ContatoTest {
	private Contato contato1, contato2;

	/**
	 * Carrega um conjnto de dados pre definidos
	 */
	@Before
	public void criaContatos() {
		contato1 = new Contato("Fulano",  "fulano@gmail.com" ,  "10/10/1990", new FormaDeContato("Skype","fulano@gmail.com ", "Nda a comentar"));
		contato2 = new Contato("Sicrano", "sicrano@gmail.com" , "09/09/1999" , new FormaDeContato("Skype","sicrano@gmail.com ", "Nada a comentar"));	
	}
	
	/**
	 * Tesa o gerenciamento de data de aniversario
	 */
	@Test public void testaGetSetDataAniversario(){
		assertEquals( "Get n�o funcionou", "10/10/1990", contato1.getDataAniversario());
		contato1.setDataAniversario("12/01/1993");
		assertEquals( "Set n�o funcionou", "12/01/1993", contato1.getDataAniversario());
	}
	
	/**
	 * Testa a alteracao de nome
	 */
	@Test public void testaGetSetNome(){
		assertEquals("Get n�o funcionou","Fulano",contato1.getNome());
		contato1.setNome("Fulano da Silva");
		assertEquals( "Set n�o funcionou","Fulano da Silva", contato1.getNome());
	}

	/**
	 * Testa a funcao compareTo
	 */
	@Test public void testaCompareTo() {
		assertTrue(contato1.compareTo(contato2) < 0);
		assertTrue(contato2.compareTo(contato1) > 0);
		assertTrue(contato1.compareTo(contato1) == 0);
		assertTrue(contato2.compareTo(contato2) == 0);
	}
}
